# %matplotlib inline
# import matplotlib
# matplotlib.use('TkAgg')
%load_ext autoreload
%autoreload 1
%aimport utils
from IPython.display import Audio, display, HTML
import numpy as np
import os
import matplotlib.pyplot as plt
import librosa
import librosa.display
utils.show_examples('long-maestro-examples', lambda data, rate : display(Audio(data=data, rate=rate)))
utils.show_losses('Loss curves', *utils.load_loss('long-maestro-train.txt'), utils.load_loss('long-maestro-dev.txt')[1])
utils.show_examples('long-nsynth-examples', lambda data, rate : display(Audio(data=data, rate=rate)))
utils.show_losses('Loss curves', *utils.load_loss('long-nsynth-train.txt'), utils.load_loss('long-nsynth-dev.txt')[1])
def plot_wave(wave):
fig, ax = plt.subplots()
ax.plot(wave)
plt.show()
plt.close()
conv_ids = [0, 9, 19, 29]
channel_ids = [0, 63, 127]
for name, in_dir in zip(['Maestro', 'Nsynth'],
['maestro-intermediate-examples', 'nsynth-intermediate-examples']):
display(HTML('<h1>%s</h1>' % name))
for conv_id in conv_ids:
display(HTML('<h2>Conv layer %d</h2>' % conv_id))
for channel_id in channel_ids:
display(HTML('<h3>Channel %d</h3>' % channel_id))
for out_type in ['tanh', 'sigmoid']:
display(HTML('<h4>%s</h4>' % out_type))
path = os.path.join(in_dir, 'conv-%d-channel-%d-%s.npy' % (conv_id, channel_id, out_type))
if not os.path.exists(path):
continue
wave = np.load(path)
display(Audio(data=wave, rate=22050))
plot_wave(wave)
display(HTML('<hr style="border: 1px solid grey;">'))
'''D = librosa.stft(wave) # STFT of y
S_db = librosa.amplitude_to_db(np.abs(D), ref=np.max)
plt.figure()
librosa.display.specshow(S_db)
plt.colorbar()'''